﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;

namespace AgendaManager.Service
{
    public class ContenidoDAO : DAOBase
    {
        public static IvoNota NuevoContenido(IvoNota contenido)
        {
            try
            {
                int contenidoId = GetNextId(contenido);

                if (contenidoId != 0)
                {
                    contenido.Id = contenidoId;
                    if (CreateEntity(contenido))
                        return contenido;

                    throw new Exception("No se pudo crear el Contenido");
                }
                else
                    throw new Exception("No se pudo obtener el siguiente id de la entidad: Contenido");
            }
            catch (Exception)
            {

                throw;
            }
        }

        internal static List<IvoNota> RetrieveEntities(object dto, string filtro)
        {
            List<IvoNota> dtos = new List<IvoNota>();

            DataTable dt = GetDataTable(dto, filtro);

            if (dt.Rows.Count > 0)
                dtos = LlenarContenido(dto, dt);

            return dtos;
        }

        private static List<IvoNota> LlenarContenido(object dto, DataTable dt)
        {
            List<IvoNota> dtos = new List<IvoNota>();

            foreach (DataRow dr in dt.Rows)
            {
                IvoNota aux = new IvoNota();
                PoblarObjetoDesdeDataRow(aux, dr);

                dtos.Add(aux);
            }

            return dtos;
        }
    }
}